#!/bin/bash
# !/bin/bash
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH


# 清除当前目录及所有子目录所有 ._*文件 、.~*文件、~*文件、.DS_Store文件
# [shell编程之如何遍历进入当前目录下的所有子目录 - Goalkeeper - 博客园](https://www.cnblogs.com/liuokay/archive/2011/08/15/2139493.html)
# function getAllFiles()
# {
#       fileList=`ls $FilePath`;
#       files_array_name=()
#       num_i=0
#       for fileName in $fileList;
#       do
#         #if test -f $fileName; then
#         if [ -f $fileName ];then
#            echo $fileName;
#            files_array_name[$num_i]=$fileName
#         elif test -d $fileName; then
#            cd $fileName;
#            FilePath=`pwd`;
#            getAllFiles;
#            cd ..;
#         else
#            echo "$FilePath is a invalid path";
#         fi
#       done
#       for per_val in $files_array_name
#          echo $per_val
      
# }
# FilePath=$HOME'/Desktop'
# getAllFiles;

function getdir(){
   # files_array_name=()
   # num_i=0
   for element in `ls $1`
   do  
     echo $element
     dir_or_file=$1"/"$element
     if [ -d $dir_or_file ]
     then 
         getdir $dir_or_file
     else
         echo $dir_or_file
         files_array_name[${#files_array_name[*]}]=$dir_or_file #向数组加入内容
     fi  
   done
   echo $files_array_name
   # for per_val in $files_array_name {
   #    echo "per_val="$per_val
   # }
}
# root_dir="/home/test"
root_dir=$HOME'/Desktop'
cd $root_dir
getdir $root_dir


## 定义变量
str="x_y_z"

## 定义空数组
arr=()

## 将str变量拆开分别添加到数组变量arr
line=($(echo ${str} | sed 's/_/ /g'))

for i in ${line[*]}
do
    arr[${#arr[*]}]=${i}
done
echo 数组变量arr的值为:"${arr[*]}"


# find ./ -name ".DS_Store" -depth -exec rm {} \ ;  # 
# find ./ -maxdepth 1 -type d -empty                     # 找出当前目录下空文件夹
# find ./ -maxdepth 1 -type d -empty -exec rm -rf {} \;  # 删除当前目录空文件夹
# find ./ -name 'index.cdif' -exec rm -f {} \;   # 找出当前目录下index.cdif删除
# find ./ -name "[0-9][0-9][0-9]_*.json"  -exec mv  {}  ~/Desktop/t \; # 找出当前目录下 匹配的文件移动的  ~/Desktop/t 文件夹中

# find ./ -name "*.DS_Store" -print -exec rm -fr {} \;
# find ./ -regex ‘.*\.AppleDouble\|.*\.DS_Store\|.*\.project\|.*\.settings’ -print rm -fr {} \;
# 注：.DS_Store (英文全称 Desktop Services Store)[1] 是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件，目的在于存贮文件夹的自定义属性，例如文件们的图标位置或者是背景色的选择。

# [Zsh 开发指南（第五篇 数组） - 知乎](https://zhuanlan.zhihu.com/p/28900097)
# [shell基础---Shell数组定义以及获取数组元素_shell取数组值-CSDN博客](https://blog.csdn.net/yujia_666/article/details/108699464)
# [shell：遍历目录和子目录的所有文件 - hershell - 博客园](https://www.cnblogs.com/xiaopipi/p/6214673.html)

# [巧用linux命令清除Mac生成的.DS_Store文件-CSDN博客](https://blog.csdn.net/weixin_34111819/article/details/92088014)